package(
    default_visibility = ["//visibility:public"],
    licenses = ["notice"],
)

cc_library(
    name = "tf_dependency",
    tags = ["local"],
    deps = [
        "@local_config_tf//:libtensorflow_framework",
        "@local_config_tf//:tf_header_lib",
    ],
)

cc_library(
    name = "scann_aligned_malloc",
    srcs = ["scann_aligned_malloc.cc"],
    hdrs = ["scann_aligned_malloc.h"],
    tags = ["local"],
)

cc_library(
    name = "scann_down_cast",
    hdrs = ["scann_down_cast.h"],
    tags = ["local"],
    deps = [
        "@com_google_absl//absl/base",
    ],
)

cc_library(
    name = "scann_castops",
    hdrs = ["scann_castops.h"],
    tags = ["local"],
    deps = [
    ],
)

cc_library(
    name = "scann_bits",
    srcs = ["scann_bits.cc"],
    hdrs = ["scann_bits.h"],
    tags = ["local"],
    deps = [
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/numeric:bits",
    ],
)

cc_library(
    name = "scann_malloc_extension",
    hdrs = ["scann_malloc_extension.h"],
    tags = ["local"],
    deps = [
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/types:optional",
    ],
)

cc_library(
    name = "scann_random",
    hdrs = ["scann_random.h"],
    tags = ["local"],
)

cc_library(
    name = "scann_status",
    srcs = ["scann_status.cc"],
    hdrs = ["scann_status.h"],
    tags = ["local"],
    deps = [
        ":scann_status_builder",
        "//scann/oss_wrappers:tf_dependency",
        "@com_google_absl//absl/strings",
    ],
)

cc_library(
    name = "scann_status_builder",
    srcs = ["scann_status_builder.cc"],
    hdrs = ["scann_status_builder.h"],
    tags = ["local"],
    deps = [
        "//scann/oss_wrappers:tf_dependency",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:cord",
    ],
)

cc_library(
    name = "scann_serialize",
    srcs = ["scann_serialize.cc"],
    hdrs = ["scann_serialize.h"],
    tags = ["local"],
    deps = [
        "@com_google_absl//absl/base",
        "@com_google_absl//absl/base:endian",
        "@com_google_absl//absl/strings",
    ],
)

cc_library(
    name = "scann_threadpool",
    hdrs = ["scann_threadpool.h"],
    tags = ["local"],
    deps = [
        "//scann/oss_wrappers:tf_dependency",
    ],
)
